• 検索結果がありません。

– DFA A D =(Q D ,Σ,δ D ,q D ,F D ) によって受理される言語 L(A D )={ w | δ D ^ (q D ,w) ∈ F D }

N/A
N/A
Protected

Academic year: 2021

シェア "– DFA A D =(Q D ,Σ,δ D ,q D ,F D ) によって受理される言語 L(A D )={ w | δ D ^ (q D ,w) ∈ F D } "

Copied!
25
0
0

読み込み中.... (全文を見る)

全文

(1)

2 有限オ トマトン (2) 2. 有限オートマトン (2):

( テキスト 2.3.5~2.3.7,2.5)

( , )

前回の復習

– DFA A D =(Q D ,Σ,δ D ,q D ,F D ) によって受理される言語 L(A D )={ w | δ D ^ (q D ,w) ∈ F D }

δ D : Q × Σ→Q

次の状態はいつでも一意的に決まる

– NFA A N =(Q N ,Σ,δ N ,q N ,F N ) によって受理される言語 L(A N )={ w | δ N ^ (q N ,w)∩F N ≠Φ}

L(A N ) { w | δ N (q N ,w)∩F N ≠Φ}

δ N : Q × Σ→2 Q

次の状態は一意的に決まらず、複数の状態の集合となる

(2)

2. 有限オートマトン (2)

2.3.5. 決定性と非決定性の有限オートマトン

の等価性

定理 : NFA で受理できる言語のクラスと、 DFA で受理で きる言語のクラスは一致する。

おまけ:‘集合の集合’のことは特にク ラス

(Class)

または族

(Family)

と呼ぶ。

(3)

2. 有限オートマトン (2)

2.3.5. 決定性と非決定性の有限オートマトンの

等価性

証明 : NFA で受理できる言語のクラス N と、 DFA で受理でき る言語のクラス D が一致することを示す。

DN

は定義より明らかなので、

ND

を示せばよい。

任意の言語

LN

LD

となることを示せばよい。

ある言語 が であ たとする このとき を受理す ある言語 LLN であったとする。このとき、 L を受理す る NFA A L =(Q N ,Σ,δ N , q N , F N ) が存在する。

A と同じ言語を受理する DFA A ’ を構成する

A L と同じ言語を受理する DFA A L ’ を構成する。

(4)

2. 有限オートマトン (2)

証明 : NFA で受理できる言語のクラス N と、 DFA で受理できる 言語のクラス D が一致することを示す

言語のクラス D が一致することを示す。

LN を受理する NFA A L =(Q N ,Σ,δ N , q N , F N ) が存在する。

A と同じ言語を受理する DFA A ’ を構成する A L と同じ言語を受理する DFA A L を構成する。

証明の直感的アイデア:

証明の直感的アイデア:

•DFA は状態がいつも 1 つだけ決まっている。

•NFA は状態の集合が入力に応じて変化する。 変 す

→NFA の状態の集合を DFA の 1 つの集合とみなす !!

(5)

2. 有限オートマトン (2)

例 : q

1 q 2

0,1 0,1

0 0

δ 0 1

q {q q } {q q }

q 0

q 3 q 4

1 1

q 0 {q 0 ,q 1 } {q 0 ,q 3 } q 1 {q 2 } Φ

q 2 {q 2 } {q 2 }

1 1 0,1

q 2 {q 2 } {q 2 } q 3 Φ {q 4 }

q 4 {q 4 } {q 4 } 下図は DFA と見なせる

{q 0 ,q 1 ,q 2 } {q 0 ,q 2 ,q 3 } {q 0 ,q 2 ,q 3 ,q 4 } {q 0 ,q 1 }

0

0 1 1

下図は DFA と見なせる

{q 0 }

0 1 2 0 2 3 0 2 3 4

0 1

0

0

0 0

0 0

1 1

1 1 1

{q 0 ,q 3 ,q 4 } {q 0 ,q 1 ,q 4 } {q 0 ,q 1 ,q 2 ,q 4 }

{q 0 ,q 3 } 0 0

1 1

1

1

(6)

2. 有限オートマトン (2)

証明 : NFA で受理できる言語のクラス N と、 DFA で受理できる言 語のクラス D が一致することを示す

語のクラス D が一致することを示す。

LN を受理する NFA A L =(Q N ,Σ,δ N , q N , F N ) が存在する。

A と同じ言語を受理する DFA A ’ を次のように構成する A L と同じ言語を受理する DFA A L を次のように構成する。

} },

{ , ,

, 2 {

' Q D N D

L q F

AN  

状態集合は

A L

の状態集合

Q N

の集合族

初期状態

{q N }

‘q N

だけからなる集合

であり、

q N

ではない

δ D

F D

を定義する必要がある。

(7)

2. 有限オートマトン (2)

証明 :

LN を受理する NFA A L =(Q N ,Σ,δ N , q N , F N ) が存在する。

A L と同じ言語を受理する DFA A L ’ を次のように構成する。

} }

{ 2

{

' Q q F

AN  

δ D

F D

を定義する必要がある。

} },

{ , ,

, 2

{ D N D

L q F

A   

} ,

2

|

{    

Q N

D S S S F

F N

(8)

2. 有限オートマトン (2) ( )

証明 :

LN を受理する NFA A L =(Q N ,Σ,δ N , q N , F N ) が存在する。

A L と同じ言語を受理する DFA A L ’ を次のように構成する。

δ D

F D

を定義する必要がある。

(2) Σ の要素 (NFA A

0 1

(1) 各時点で

(2) Σ の要素 (NFA A L への可能な入力 ;

|Σ| 通り )

Φ Φ Φ

{ } { } Φ

NFA A L の取 り得る状態の

集合

|Σ| 通り )

{q 0 } {q 0 ,q 1 } Φ

集合

(2 |Q N | 通り ) (1) の各状態におい て、 (2) の入力を与え

{q 0 ,q 1 , q k }

{…} {…} すべての状態の集合 た場合に遷移できる

…,q k }

(9)

0 1 0,1 0

0 1

(1) Φ Φ Φ

入力

2. 有限オートマトン (2)

q 0

q 1 q 3

q 2 q 4

0,1 0 0

1

(2) {q 0 } {q 0 ,q 1 } {q 0 ,q 3 }

(3) {q 1 } {q 2 } Φ

(4) { } { } { }

:

q 3 q 4 1 1 0,1

δ 0 1

(4) {q 2 } {q 2 } {q 2 }

(5) {q 3 } Φ {q 4 }

(6) {q } {q } {q }

現在の 状態の

集合

次の時刻に可能な 状態の集合

δ 0 1

q 0 {q 0 ,q 1 } {q 0 ,q 3 } q 1 {q 2 } Φ

(6) {q 4 } {q 4 } {q 4 }

(7) {q 0 ,q 1 } {q 0 ,q 1 ,q 2 } {q 0 ,q 3 } (8) {q 0 q 2 } {q 0 q 1 q 2 } {q 0 q 2 q 3 }

集合 (2 |Q| 通り )

状態の集合

q 2 {q 2 } {q 2 } q 3 Φ {q 4 }

(8) {q 0 ,q 2 } {q 0 ,q 1 ,q 2 } {q 0 ,q 2 ,q 3 }

(32) {q 0 ,q 1 ,q 2 ,q 3 ,q 4 } {q 0 ,q 1 ,q 2 , q 4 } {q 0 ,q 2 ,q 3 ,q 4 } q 4 {q 4 } {q 4 }

{q 0 ,q 1 ,q 2 } {q 0 ,q 2 ,q 3 } {q 0 ,q 2 ,q 3 ,q 4 } {q 0 ,q 1 }

0

0 1 1

( ) {q 0 ,q 1 ,q 2 ,q 3 ,q 4 } {q 0 ,q 1 ,q 2 , q 4 } {q 0 ,q 2 ,q 3 ,q 4 }

{q 0 }

0 1 2 0 2 3 0 2 3 4

0 1

0

0

0 0

0 0

1 1

1 1 1

{q 0 ,q 3 ,q 4 } {q 0 ,q 1 ,q 4 } {q 0 ,q 1 ,q 2 ,q 4 }

{q 0 ,q 3 } 0 0

1 1

1

1

(10)

2. 有限オートマトン (2) ( )

証明 : NFA で受理できる言語のクラス N と、 DFA で受理できる言 語のクラス D が一致することを示す。

語のクラス D が 致することを示す。

LN を受理する NFA A L =(Q N ,Σ,δ N , q N , F N ) が存在する。

A と同じ言語を受理する DFA A ’ を次のように構成する A L と同じ言語を受理する DFA A L を次のように構成する。

} },

{ , ,

, 2 {

' Q D N D

L q F

AN  

状態集合は

A L

の状態集合の集合族

初期状態

{q N }

‘q N

だけからなる集合

であり、

q N

ではない と 定義方法は前述 通り

δ D

F D

の定義方法は前述の通り。

証明すべきこと: δ N (q N ,w) ∩ F N ≠Φ である必要十分条件は

^

^

δ D ({q N },w) ∈ F D

⇒ |w| に関する帰納法で、計算の同等性を証明する。 ( 省略 )

^

(11)

2. 有限オートマトン (2)

2.5. ε- 動作を含む有限オートマトン (ε-NFA)

– 「入力」として「空文字 」 ε 」を許す。つまり入力を読まずに 」 状態を変化することを許す。

例 : 「 0 でない整数」

1. 最初は「+」か「ー」か何もない

ε

を使わずに自然 な表現をするの

2. 次は 1 ~ 9 が 1 つ

は困難

3. それ以降は 0 ~ 9 が 0 個以上続く

は困難

,

,ε 1,2,…,9

0,1,2,…,9

, , ,9

(12)

2. 有限オートマトン (2)

2.5. ε- 動作を含む有限オートマトン (ε-NFA)

例 :

1. まず a が 0 個以上続き、

2. 次に 次に [b [ が が 個以 0 個以上 ] ] または または [c [ が が 個以 0 個以上 ] ] 続き、 続き、

3. 最後に d が 0 個以上続く ε

を使わずに自然 な表現をするの

b

は困難

ε d

b

は困難

a ε

c

ε ε ε

(13)

2. 有限オートマトン (2)

2.5. ε- 動作を含む有限オートマトン (ε-NFA)

– ε-NFA A=(Q,Σ,δ,q,F) の定義: 定義

Q :状態集合

Σ: アルファベット

δ: Q × Σ ∪ {ε} → 2 Q

q: 初期状態 初期状態

F: 受理状態

NFA A によ て受理される言語 – ε-NFA A によって受理される言語 …

δ の定義 ??

^

(14)

2. 有限オートマトン (2)

2. 5. ε-NFA と DFA の等価性

証明 : ε-NFA で受理できる言語のクラス N と、 DFA で受理で きる言語のクラス D が一致することを示す。

DN

は定義より明らかなので、

ND

を示せばよい。

任意の言語

LN

LD

となることを示せばよい。

ある言語 LL N であ たとする このとき L を受理す ある言語 LLN であったとする。このとき、 L を受理す る ε-NFA A L =(Q N ,Σ,δ N , q N , F N ) が存在する。

A と同じ言語を受理する DFA A ’ を構成する A L と同じ言語を受理する DFA A L を構成する。

Subset 構成において、 ε- 遷移をどう処理するか

(15)

2. 有限オートマトン (2) ( )

2. 5. ε-NFA と DFA の等価性

Subset 構成において、 ε- 遷移をどう処理するか …

直感的には「 で移動できる状態たち を同 視すれば OK ? 直感的には「 ε で移動できる状態たち」を同一視すれば OK…?

→ それほど自明でない:

a

ε ε b

ε ε

ε

ε d

c

a ε

b

ε c

ε ε

(16)

2. 有限オートマトン (2) ( )

2. 5. ε-NFA と DFA の等価性

Subset 構成において、 ε- 遷移をどう処理するか … 状態 の 閉包とは 状態 から 遷移だけで遷移で 状態 q の ε- 閉包とは、状態 q から ε- 遷移だけで遷移で きる状態の集合 (q 自身も含む )

ECLOSE(q) := { q’ | q’ は q から ε- 遷移だけで遷移できる } 1 q は ECLOSE(q) の要素

1. q は ECLOSE(q) の要素

2. 任意の q’ ∈ ECLOSE(q) に対して、 q’ から q’’ に ε- 遷 移で遷移できるなら、 q’’ も ECLOSE(q) の要素

移で遷移できるなら、 q も ECLOSE(q) の要素

(17)

2. 有限オートマトン (2) ( )

2. 5. ε-NFA と DFA の等価性

Subset 構成において、 ε- 遷移をどう処理するか … 状態 の 閉包とは 状態 から 遷移だけで遷移で 状態 q の ε- 閉包とは、状態 q から ε- 遷移だけで遷移で きる状態の集合 (q 自身も含む )

ECLOSE(q) := { q’ | q’ は q から ε- 遷移だけで遷移できる }

例:

b

q 1

ε d

a ε

例:

ECLOSE(q 0 )={q 0 ,q 1 ,q 2 ,q 3 } ECLOSE(q 1 )={q 1 ,q 3 }

q 0 q 3

q 2 c

ε ε

ECLOSE(q 2 )={q 2 ,q 3 }

ECLOSE(q 3 )={q 3 }

ECLOSE(q 3 ) {q 3 }

(18)

2. 有限オートマトン (2) ( )

2. 5. ε-NFA と DFA の等価性

Subset 構成において、 ε- 遷移をどう処理するか … 観測 NFA A において ECLOSE( ) に状態 が 観測 : ε-NFA A において、 ECLOSE(q) に状態 p が 入っているとき、「 A がある時点で取りえる状態」の集 合 S は [q ∈ S かつ p ב S ] はありえない

S は、 [q ∈ S かつ p ב S ] はありえない。

⇒ ε-NFA A において、「 A がある時点で取りうる状態」

の集合 S は、 qS なら ECLOSE(q) ⊆ S

構成において Q がすべて現れるわけでは

⇒ Subset 構成において 2 Q がすべて現れるわけでは

ない。

(19)

2. 有限オートマトン (2)

2.5.4. 遷移関数の拡張と ε-NFA の言語

( )

– ε-NFA A=(Q,Σ,δ,q,F) の定義:

δ: Q

×

Σ ∪ {ε} → 2 Q

受 される言語

状態

q

に入力

xa

が 与えられたときに

– ε-NFA A によって受理される言語 …

δ:Q

×

(Σ ∪ {ε}) * →2 Q

の定義

: 1 δ( ) ECLOSE( )

^

^

与えられたときに 到達可能なすべて

の状態の集合

1. δ(q,ε) := ECLOSE(q)

2. δ(q,xa) (

ただし

xΣ * , a ∈ Σ):

δ(q,x) = {p 1 ,p 2 ,…,p k }

とする。

k

^

^ (q, ) {p

1 ,p 2 , ,p k }

とする。

和集合 を

{r 1 ,r 2 ,…,r m }

とする。

m ECLOSE ( )

) ˆ (

k

i

i a p

1

) , ˆ (

j

r j

xa q

1

) ( ECLOSE :

) ,

(

 

19/25

A によって受理される言語

L(A) := { w | δ(q,w)∩F≠Φ} ^

(20)

2. 有限オートマトン (2) ( )

2. 5. ε-NFA と DFA の等価性

証明 : ε NFA で受理できる言語のクラス N と DFA で受理で 証明 : ε-NFA で受理できる言語のクラス N と、 DFA で受理で

きる言語のクラス D が一致することを示す。

DN

は定義より明らかなので、

ND

を示せばよい。

任意の言語

LN

LD

となることを示せばよい。

ある言語 LLN であったとする。このとき、 L を受理す る ε NFA A =(Q Σ δ q F ) が存在する

る ε-NFA A L =(Q N ,Σ,δ N , q N , F N ) が存在する。

A L と同じ言語を受理する DFA A L ’ を構成する。

構成 お 遷移をどう処理するか Subset 構成において、 ε- 遷移をどう処理するか …

ECLOSE を使って遷移可能

な状態の集合を表現する

な状態の集合を表現する

(21)

2. 有限オートマトン (2)

2. 5. ε-NFA と DFA の等価性

証明 : ある言語 LLN であったとする。このとき、 L を受 証明 : ある言語 LLN であったとする。このとき、 L を受

理する ε-NFA A L =(Q N ,Σ,δ N , q N , F N ) が存在する。

A L と同じ言語を受理する DFA A L ’ =(Q D ,Σ,δ D ,q D ,F D ) を構 成す

成する。

1. Q D : 2 Q N だと無駄が多い。以下を満たす S だけで十分。

2 q : ECLOSE(q )

S q

q S

 ECLOSE( )

与えられた

ε-NFA

から

2. q D := ECLOSE(q N )

3. F D := { S ∈ Q D | S ∩ F N ≠Φ}

4 δ

動的に作ればよい。

4. δ D

(22)

2. 有限オートマトン (2)

2. 5. ε-NFA と DFA の等価性

証明 ある言語 LLN であ たとする このとき L を 証明 : ある言語 LLN であったとする。このとき、 L

受理する ε-NFA A L =(Q N ,Σ,δ N , q N , F N ) が存在する。

A L と同じ言語を受理する DFA A L ’ =(Q D Σ δ D q D F D ) を A L と同じ言語を受理する DFA A L (Q D ,Σ,δ D ,q D ,F D ) を 構成する。

4. δ D : Q D の要素 S Σ の要素 a に対して、以下の手 順で構成する。

1. S = {p 1 ,p 2 ,…,p k } とする。

2 k の結果を { } とする

2. の結果を {r 1 ,r 2 ,…,r m } とする。

3

i

i a p

1

) , (

m

3. ( S , a ) : ECLOSE( r )

(23)

2. 有限オートマトン (2) ( )

2. 5. ε-NFA と DFA の等価性

例 :  '

q 1

ε d

b

a ε

ECLOSE(q 0 )={q 0 ,q 1 ,q 2 ,q 3 } ECLOSE(q 1 )={q 1 ,q 3 }

q 0 q 3

q 2 c

ε ε

(q 1 ) {q 1 ,q 3 } ECLOSE(q 2 )={q 2 ,q 3 } ECLOSE(q )={q } ECLOSE(q 3 )={q 3 }

上記の ε-NFA と等価な DFA A=(Q,{a,b,c,d},δ,q,F) を構成

( ) { }

q = ECLOSE(q 0 )={q 0 ,q 1 ,q 2 ,q 3 }

δ(q,b): なので、 δ(q,b) = ECLOSE(q 1 )={q 1 ,q 3 }

• 同様に 

q q

i

i

q b

q

 { } )

, (

' 1

• 同様に

δ(q,a) = ECLOSE(q 0 ) = {q 0 ,q 1 ,q 2 ,q 3 } δ(q,c) = ECLOSE(q (q, ) (q 2 2 ) = {q ) {q 2 2 ,q ,q 3 3 } }

δ(q,d) = ECLOSE(q 3 ) = {q 3 }

(24)

2. 有限オートマトン (2) ( )

2. 5. ε-NFA と DFA の等価性

例 :  '

q 1

ε d

b

a ε

ECLOSE(q 0 )={q 0 ,q 1 ,q 2 ,q 3 } ECLOSE(q 1 )={q 1 ,q 3 }

q 0 q 3

q 2 c

ε ε

(q 1 ) {q 1 ,q 3 } ECLOSE(q 2 )={q 2 ,q 3 } ECLOSE(q )={q } ECLOSE(q 3 )={q 3 }

上記の ε-NFA と等価な DFA A=(Q,{a,b,c,d},δ,q,F) を構成 同様に

同様に

δ({q 1 ,q 3 },a) = ECLOSE(Φ) = {Φ}

δ({q q } b) = ECLOSE(q ) = {q q } δ({q 1 ,q 3 },b) = ECLOSE(q 1 ) = {q ,q 3 } δ({q 1 ,q 3 },c) = ECLOSE(Φ) = {Φ}

δ({q ({q 1 1 ,q ,q 3 3 },d) = ECLOSE(q }, ) (q 3 3 ) = {q ) {q 3 3 }… }

(25)

2. 有限オートマトン (2) ( )

2. 5. ε-NFA と DFA の等価性

例 :  '

q 1

ε d

b

a ε

ECLOSE(q 0 )={q 0 ,q 1 ,q 2 ,q 3 } ECLOSE(q 1 )={q 1 ,q 3 }

q 0 q 3

q 2 c

ε ε

(q 1 ) {q 1 ,q 3 } ECLOSE(q 2 )={q 2 ,q 3 } ECLOSE(q )={q } ECLOSE(q 3 )={q 3 }

上記の ε-NFA と等価な DFA A=(Q,{a,b,c,d},δ,q,F) を構成

 :

{q } a

d {q q }

b

b d F := {{q 0 ,q 1 ,q 2 ,q 3 }, {q q }

{q 3 } q={q 0 ,q 1 ,q 2 ,q 3 } c

{q 1 ,q 3 }

a,b,c d

b

d a,c

{q 1 ,q 3 },

{q 2 ,q 3 },{q 3 }}

Φ

c a,b,c,d

{q 2 ,q 3 }

c d

a,b

参照

関連したドキュメント

投与から間質性肺炎の発症までの期間は、一般的には、免疫反応の関与が

Found in the diatomite of Tochibori Nigata, Ureshino Saga, Hirazawa Miyagi, Kanou and Ooike Nagano, and in the mudstone of NakamuraIrizawa Yamanashi, Kawabe Nagano.. cal with

病理診断名(日本語) 英語表記 形態コ-ド 節外性 NK/T 細胞リンパ腫、鼻型 Extranodal NK/T cell lymphoma, nasal-type 9719/3 腸管症型 T 細胞リンパ腫

瞼板中には 30~40 個の瞼板腺(マイボーム Meibome 腺)が一列に存在し、導管は眼瞼後縁に開口する。前縁には 睫毛(まつ毛)が 2~ 3

(G1、G2 及び G3)のものを扱い、NENs のうち低分化型神経内分泌腫瘍(神経内分泌癌 ; neuroendocrine carcinoma; NEC(G3)

上記の(1)勤怠及び健康、

N2b 同側の多発性リンパ節転移で最大径が 6cm 以下かつ節外浸潤なし N2c 両側または対側のリンパ節転移で最大径が 6cm 以下かつ節外浸潤なし

また適切な音量で音が聞 こえる音響設備を常設設 備として備えている なお、常設設備の効果が適 切に得られない場合、クラ